<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>仓鼠问题</title>
</head>
<body>
<script>

    /*
    * 一般而言,都是通过在子类中调用父类的构造方法将父类中的属性在子类身上定义一遍,就不会出现共享数组的问题了
    * */
    let mouse = {
        content: [],
        eat(food) {
            /*
            * 当   mouse1.eat(1)调用时，因为 this.content.push(food)是一个连续操作
            *   mouse1会先从自己的身上找content  自己身上没有 所以找到了 mouse
            * */
            this.content.push(food)


            /*
            * 如果是这样写的话就不会出问题  因为这里直接赋值 在当前对象身上添加一个content属性

            *
            * */
            // this.content = food
        }

    }

    let mouse1 = {
        __proto__: mouse
    }

    let mouse2 = {
        __proto__: mouse
    }

    mouse1.eat(1)
    console.log(mouse1.content)
    console.log(mouse2.content)
    console.log(mouse.content)


</script>
</body>
</html>